// 如果生产环境开启了 mock 功能，则该代码会被注入到 injectFile 对应的文件的底部。默认为 main.{ts,js}
// 此配置对开发环境无效，仅影响生产环境
import { createProdMockServer } from "vite-plugin-mock/es/createProdMockServer";

//这里可以把 mock 文件夹下的所有文件都引入
import indexModule from "./api/demo/index";
import helloModule from "./api/demo/hello";
import accountModule from "./api/admin/account";
import authModule from "./api/admin/auth";
import codeModule from "./api/admin/code";
import logModule from "./api/admin/log";
import menuModule from "./api/admin/menu";
import organizationModule from "./api/admin/organization";
import resourceModule from "./api/admin/resource";
import roleModule from "./api/admin/role";

export const mockModules = [
  ...indexModule,
  ...helloModule,
  ...accountModule,
  ...authModule,
  ...codeModule,
  ...logModule,
  ...menuModule,
  ...organizationModule,
  ...resourceModule,
  ...roleModule,
];

// mock/api 文件夹内如果有其他类型文件，需要用下划线开头区分，不会动态加载
// 自动导入，tsconfig.json 中 include "mock/**/*.ts" 后， import.meta.glob 支持
// const modules = import.meta.glob("./api/**/*.ts", {
//   import: "default",
//   eager: true,
// });

// const mockModules: any[] = [];
// Object.keys(modules).forEach(async (key) => {
//   // 排除包含下划线的 _router.ts 文件
//   if (key.includes("_")) {
//     return;
//   }
//   // console.log("mockModules：", ...modules[key]);
//   mockModules.push(...(modules[key] as any));
// });

export function setupProdMockServer() {
  console.log("mockModules all", mockModules);
  createProdMockServer(mockModules);
}
